package com.xue.exception;

import java.text.SimpleDateFormat;

public class ExceptionTest {
    public static void main(String[] args) {
      test03();
    }

    /**
     * 异常分类：非运行时异常（检查性异常）
     */
    private static void test11(){
        // 创建个一个日期格式转换的工具类SimpleDateFormat的实例对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 检查性异常要求进行强制处理；
        try {
            sdf.parse("2019-02-18 10:30:17");
        }catch (NullPointerException e){
            // 进行异常处理
        }catch (Exception e){
            // 进行异常处理
        }
    }

    /**
     * 异常分类：非运行时异常（检查性异常）
     */
    private static void test12(){
        // 创建个一个日期格式转换的工具类SimpleDateFormat的实例对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 检查性异常要求进行强制处理；
        //快捷键：ctrl+shift+t
        try {
            sdf.parse("2019-02-18 10:30:17");
        }catch (NullPointerException e){
            // 进行异常处理
        }catch (Exception e){
            // 进行异常处理
        }
    }

    /**
     * 异常分类：运行时异常（非检查性异常）
     */
    private static void test01(){
        double dVal1 = 12.0;
        double dVal2 = 0;
        if(dVal2 == 0){
            System.out.println("除数不能为0");
        }else {
            System.out.println("发生运行时异常：" + (dVal1 / dVal2));
        }
    }

    /**
     * 异常分类：运行时异常（非检查性异常）
     */
    private static void test02(){
        double[] arrs = new double[2];
        int i = 4;
        if(i<arrs.length){

            System.out.println("发生运行时异常："+arrs[i]);
        }
    }
    /**
     * 异常分类：运行时异常（非检查性异常）
     */
    private static void test03(){
        String str = null;
        if(str != null){
            System.out.println("发生运行时异常："+str.indexOf(0));
        }
    }

}
